home *** CD-ROM | disk | FTP | other *** search
- /*
- ** dates.hpp -- header file for dates.cpp, a date object
- */
-
- #define MINMONTH 1 /* January */
- #define MAXMONTH 12 /* December */
- #define MINDAY 1
- #define MAXDAY 31
- #define MINWEEKDAY 0 /* Sunday */
- #define MAXWEEKDAY 6 /* Saturday */
- #define BADDATE -1L
- #define MINYEAR -4700L
- #define MAXYEAR 25000L
- #define MINDATE 4749L /* 1 January 4700 BC */
- #define MAXDATE 10852487L /* 31 December 25,000 */
- #define MAXDATESTRLEN 256 /* max length of date format string */
-
-
- class DateObject {
- long Julian; /* julian date */
- char *DateFormatPtr; /* pointer to date format string */
- unsigned char Day; /* 1 to 31 */
- unsigned char Month; /* 1 to 12 */
- int Year; /* negative years are BC */
- unsigned char DayOfWeek; /* 0 to 6 */
-
- public:
-
- DateObject(void);
- DateObject(DateObject &OtherDate);
- DateObject(unsigned char InitDay, unsigned char InitMonth, int InitYear);
- DateObject(unsigned char InitDay, unsigned char InitMonth,
- int InitYear, const char *FormatStr);
- DateObject operator = (DateObject &d);
- DateObject operator - (long x);
- DateObject operator ++ (void);
- DateObject operator -- (void);
- DateObject operator += (long x);
- DateObject operator -= (long x);
- int operator == (DateObject &d) { return (Julian == d.Julian); }
- int operator != (DateObject &d) { return (Julian != d.Julian); }
- int operator > (DateObject &d) { return (Julian > d.Julian); }
- int operator < (DateObject &d) { return (Julian < d.Julian); }
- int operator >= (DateObject &d) { return (Julian >= d.Julian); }
- int operator <= (DateObject &d) { return (Julian <= d.Julian); }
- int ValidDate(void) { return (Julian != BADDATE); }
- unsigned char GetDay(void) { return (Day); }
- unsigned char GetMonth(void) { return (Month); }
- int GetYear(void) { return (Year); }
- unsigned char GetDayOfWeek(void) { return (DayOfWeek); }
- long GetJulian(void) { return (Julian); }
- const char *GetFormat(void);
- int ChangeDate(unsigned char NDay, unsigned char NMonth, int NYear);
- void ChangeFormat(const char *s);
- ~DateObject(void);
- friend DateObject operator + (DateObject &d, long x);
- friend DateObject operator + (long x, DateObject &d);
- friend long operator - (DateObject &d1, DateObject &d2)
- { return (d1.Julian - d2.Julian); };
- char *DateToString(void);
- };
-
- int ChangeDefaultDateFormat(const char *);
-